package com.source.multithread.hander;



import org.apache.commons.lang.StringUtils;

import java.util.HashMap;
import java.util.Map;



/**
 * @description 深圳公安字典编码
 * @author huangcan
 * @date created in: 2019年7月16日 上午9:32:11
 */
class DictCodeSZGA {
//	public static String bosCode1 = "F031H101310101001";//上海银行的机构代码--文件名取值前8位
	public static String bosCode2 = "F031B101440303101";//上海银行的机构代码--文件名取值前8位
	//上海银行的机构代码-前⑧位---F031B101440303101深圳地区的系统使用以下的机构代码
//	public static String bosCode1_8 = "F031H101";
	public static String bosCode2_8 = "F031B101";
	
	/**
	 * 措施类型--查询措施类型
	 * @param queryType
	 * @return
	 */
	public static String getQueryType(String queryType){
		Map<String, String> queryTypeMap = new HashMap<String, String>();
		queryTypeMap.put("01", "01");//常规查询
		queryTypeMap.put("02", "02");//动态查询
		queryTypeMap.put("03", "03");//继续动态查询
		queryTypeMap.put("04", "04");//解除动态查询
		queryTypeMap.put("05", "05");//冻结
		queryTypeMap.put("06", "06");//继续冻结
		queryTypeMap.put("07", "07");//解除冻结
		queryTypeMap.put("08", "08");//紧急止付
		queryTypeMap.put("09", "09");//解除止付
		return queryTypeMap.get(queryType);
	}
	
	/**
	 * 深圳公安的证件类型转成T24的证件类型--部分可能存在错误！
	 * @description 证件类别字段表
	 * @param idType 深圳公安的证件类型
	 * @return T24的证件类型
	 */
	public static String getIdTypeT24(String idType){
		Map<String, String> idTypeMap = new HashMap<String, String>();
		//证照代码----证照名称
		idTypeMap.put("110001", "02");//居民身份证
		idTypeMap.put("110003", "03");//临时居民身份证
		idTypeMap.put("110005", "05");//户口簿
		idTypeMap.put("110011", "09");//离休干部荣誉证
		idTypeMap.put("110013", "10");//军官退休证
		idTypeMap.put("110015", "11");//文职干部退休证
		idTypeMap.put("110023", "04");//中华人民共和国护照
		idTypeMap.put("110025", "20");//外国护照
		idTypeMap.put("110019", "21");//港澳居民往来内地通行证
		idTypeMap.put("110021", "17");//台湾居民来往大陆通行证
		idTypeMap.put("110027", "08");//军官证
		idTypeMap.put("110029", "21");//文职干部证
		idTypeMap.put("110031", "13");//警官证
		idTypeMap.put("110033", "14");//军人士兵证
		idTypeMap.put("110035", "14");//武警士兵证
		idTypeMap.put("610001", "21");//组织机构代码
		idTypeMap.put("610005", "21");//企业法人营业执照
		idTypeMap.put("610007", "21");//统一社会信用证
		idTypeMap.put("610021", "21");//军队（军级以上）武警（总队）财务部门开户证明
		idTypeMap.put("619999", "21");//其他证件
		return idTypeMap.get(idType);
	}
	
	/**
	 * 货币种类代码表
	 * @param
	 * @return 
	 */
	public static String getCcyType(String ccyType){
		Map<String, String> ccyTypeMap = new HashMap<String, String>();
		ccyTypeMap.put("CNY", "CNY");//人民币	元
		ccyTypeMap.put("GBP", "GBP");//英镑	镑
		ccyTypeMap.put("EUR", "EUR");//欧元	元
		ccyTypeMap.put("HKD", "HKD");//港币	元
		ccyTypeMap.put("USD", "USD");//美元	元
		ccyTypeMap.put("CHF", "CHF");//瑞士法郎	法郎
		ccyTypeMap.put("DEM", "DEM");//德国马克	马克
		ccyTypeMap.put("FRF", "FRF");//法国法郎	法郎
		ccyTypeMap.put("SGD", "SGD");//新加坡元	元
		ccyTypeMap.put("BEF", "BEF");//比利时法郎	法郎
		ccyTypeMap.put("NLG", "NLG");//荷兰盾	盾
		ccyTypeMap.put("SEK", "SEK");//瑞典克郎	克郎
		ccyTypeMap.put("DKK", "DKK");//丹麦克郎	克郎
		ccyTypeMap.put("NOK", "NOK");//挪威克郎	克郎
		ccyTypeMap.put("ATS", "ATS");//奥地利先令	先令
		ccyTypeMap.put("ITL", "ITL");//意大利里拉	里拉
		ccyTypeMap.put("JPY", "JPY");//日元	元
		ccyTypeMap.put("CAD", "CAD");//加元	元
		ccyTypeMap.put("AUD", "AUD");//澳元	元
		ccyTypeMap.put("TZS", "TZS");//坦桑尼亚先令	先令
		ccyTypeMap.put("ESP", "ESP");//西班牙比塞塔	比塞塔
		ccyTypeMap.put("MYR", "MYR");//马来西亚林吉特	元
		ccyTypeMap.put("LKR", "LKR");//斯里兰卡卢比	卢比
		ccyTypeMap.put("DZD", "DZD");//阿尔及利亚第纳尔	第纳尔
		ccyTypeMap.put("FIM", "FIM");//芬兰马克	马克
		ccyTypeMap.put("GHC", "GHC");//加纳塞地	塞地
		ccyTypeMap.put("IQD", "IQD");//伊拉克地那尔	地那尔
		ccyTypeMap.put("MLF", "MLF");//马里法郎	马里法郎
		ccyTypeMap.put("MAD", "MAD");//摩洛哥地拉姆	地拉姆
		ccyTypeMap.put("SLL", "SLL");//塞拉利昂	利昂
		ccyTypeMap.put("IRR", "IRR");//伊朗里亚尔	伊朗里亚尔
		ccyTypeMap.put("NPR", "NPR");//尼泊尔卢比	卢比
		ccyTypeMap.put("ALL", "ALL");//阿尔巴尼亚列克	列克
		ccyTypeMap.put("ROL", "ROL");//罗马尼亚列依	列依
		ccyTypeMap.put("KPW", "KPW");//朝鲜币	元
		ccyTypeMap.put("VND", "VND");//越南盾	盾
		ccyTypeMap.put("UUP", "UUP");//匈牙利福林	福林
		ccyTypeMap.put("BGL", "BGL");//保加利亚列瓦	列瓦
		ccyTypeMap.put("CSK", "CSK");//捷克克郎	克郎
		ccyTypeMap.put("PLZ", "PLZ");//波兰兹罗提	兹罗提
		ccyTypeMap.put("BUR", "BUR");//苏联卢布	卢布
		ccyTypeMap.put("FUG", "FUG");//蒙古图格里克	图格里克
		ccyTypeMap.put("ZMR", "ZMR");//赞比亚克瓦查	克瓦查
		ccyTypeMap.put("MOP", "MOP");//澳门币	元
		ccyTypeMap.put("PHP", "PHP");//菲律宾比索	比索
		ccyTypeMap.put("BUK", "BUK");//缅甸币	元
		ccyTypeMap.put("THB", "THB");//泰币	铢
		ccyTypeMap.put("INR", "INR");//印度罗比	罗比
		ccyTypeMap.put("MTP", "MTP");//马尔他镑	镑
		ccyTypeMap.put("NZD", "NZD");//新西兰元	元
		return ccyTypeMap.get(ccyType);
	}
	/**
	 * 请求
	 * @param arg0
	 * @return
	 */
	public static String getReqSortType(String arg0){
		Map<String, String> sortTypeMap = new HashMap<String, String>();
		sortTypeMap.put("SS01", "SS01");//个人账户查询申请key-反馈value
		sortTypeMap.put("SS02", "SS02");//对公账户查询申请key-反馈value
		sortTypeMap.put("SS05", "SS05");//个人帐（卡）号查询申请
		sortTypeMap.put("SS06", "SS06");//对公帐（卡）号查询申请
		
		sortTypeMap.put("SS11", "SS11");//个人账户动态查询申请
		sortTypeMap.put("SS12", "SS12");//对公账户动态查询申请
		sortTypeMap.put("SS17", "SS17");//个人账户冻结/解冻/续冻申请
		sortTypeMap.put("SS18", "SS18");//对公账户冻结/解冻/续冻申请
		sortTypeMap.put("SS21", "SS21");//个人账户紧急止付申请
		sortTypeMap.put("SS22", "SS22");//对公账户紧急止付申请
		
		sortTypeMap.put("SS50", "SS50");//个人保险箱信息申请
		sortTypeMap.put("SS51", "SS51");//对公保险箱信息申请
		String sortType = "";
		if(!StringUtils.isEmpty(arg0) && arg0.length()>=4){
			sortType = arg0.substring(0, 4);
		}
		return sortTypeMap.get(sortType);
	}
	/**
	 * 反馈
	 * @param arg0
	 * @return
	 */
	public static String getResSortType(String arg0){
		Map<String, String> sortTypeMap = new HashMap<String, String>();
		sortTypeMap.put("SS03", "SS03");//个人账户查询申请反馈
		sortTypeMap.put("SS04", "SS04");//对公账户查询申请反馈
		sortTypeMap.put("SS07", "SS07");//个人帐（卡）号查询申请反馈
		sortTypeMap.put("SS08", "SS08");//对公帐（卡）号查询申请反馈
		sortTypeMap.put("SS09", "SS09");//个人账户交易明细信息反馈
		sortTypeMap.put("SS10", "SS10");//对公账户交易明细信息反馈
		
		sortTypeMap.put("SS13", "SS13");//个人账户动态查询申请反馈
		sortTypeMap.put("SS14", "SS14");//对公账户动态查询申请反馈
		sortTypeMap.put("SS15", "SS15");//个人账户动态查询申请手机短信反馈
		sortTypeMap.put("SS16", "SS16");//对公账户动态查询申请手机短信反馈
		sortTypeMap.put("SS19", "SS19");//个人账户冻结/解冻/续冻申请反馈
		sortTypeMap.put("SS20", "SS20");//对公账户冻结/解冻/续冻申请反馈
		sortTypeMap.put("SS23", "SS23");//个人账户紧急止付申请反馈
		sortTypeMap.put("SS24", "SS24");//对公账户紧急止付申请反馈
		
		sortTypeMap.put("SS52", "SS52");//个人保险箱信息反馈
		sortTypeMap.put("SS53", "SS53");//对公保险箱信息反馈
		
		String sortType = "";
		if(!StringUtils.isEmpty(arg0) && arg0.length()>=4){
			sortType = arg0.substring(0, 4);
		}
		return sortTypeMap.get(sortType);
	}
	
	/**
	 * 其他类型
	 * @param arg0
	 * @return
	 */
	public static String getOtherSortType(String arg0){
		Map<String, String> sortTypeMap = new HashMap<String, String>();
		sortTypeMap.put("LI25", "LI25");//文书文件名称
		sortTypeMap.put("LI26", "LI26");//申请人警官证
		sortTypeMap.put("LI27", "LI27");//协查人警官证
		sortTypeMap.put("RR28", "RR28");//回执信息文件
		sortTypeMap.put("RR29", "RR29");//冻结回执文件
		sortTypeMap.put("CS01", "CS01");//银行网点基础数据
		sortTypeMap.put("CS02", "CS02");//银行账号规则基础数据
		sortTypeMap.put("CS03", "CS03");//城市代号对照基础数据
		sortTypeMap.put("CS04", "CS04");//银行对话通讯数据
		sortTypeMap.put("CS05", "CS05");//账户交易明细处理结果反馈
		
		String sortType = "";
		if(!StringUtils.isEmpty(arg0) && arg0.length()>=4){
			sortType = arg0.substring(0, 4);
		}
		return sortTypeMap.get(sortType);
	}
	
}
